home *** CD-ROM | disk | FTP | other *** search
/ Macworld Expo - Develope…Central & Net Innovations / Developer Central and Net Innovators (MacWorld Expo) (January 1999).iso / Developer Central / Bowers Development / Demo AppMaker / Examples / plain C OS8 / AMReminder / DReminder.c < prev    next >
Encoding:
Text File  |  1998-10-29  |  3.5 KB  |  221 lines  |  [TEXT/CWIE]

  1. // DReminder.cp -- data container class for AMReminder
  2.  
  3. #include "PString.h"
  4. #include "DReminder.h"
  5.  
  6. #include <stdlib.h>
  7.  
  8. //----------
  9. DReminder*        NewDReminder ()
  10. {
  11.     DReminder*        data;
  12.  
  13.     data = (DReminder*)malloc (sizeof (DReminder));
  14.     DReminder_Init (data);
  15.  
  16.     return data;
  17. }
  18.  
  19. //----------
  20. void    DeleteDReminder (
  21.     DReminder*        data)
  22. {
  23.     DReminder_Free (data);
  24.     free (data);
  25. }
  26.  
  27. //----------
  28. void    DReminder_Init (
  29.     DReminder*        self)
  30. {
  31.     AMSignaler_Init ((AMSignaler*) self);
  32.  
  33.     self->mDateAndTime.od.eraAlt = 0;
  34.     GetTime (&self->mDateAndTime.od.oldDate);
  35.     AssignPStr (self->mMessage, "\p");
  36.     self->mShowAlert = false;
  37.     self->mShowIcon = false;
  38.     self->mPlaySound = false;
  39.     self->mSoundIndex = 1;
  40. }
  41.  
  42. //----------
  43. void    DReminder_Free (
  44.     DReminder*        self)
  45. {
  46.     AMSignaler_Free ((AMSignaler*) self);
  47. }
  48.  
  49. //----------
  50. LongDateRec        GetDateAndTime (
  51.     DReminder*        self)
  52. {
  53.  
  54.     return self->mDateAndTime;
  55. }
  56.  
  57. void    SetDateAndTime (
  58.     DReminder*        self,
  59.     LongDateRec        inValue)
  60. {
  61.     self->mDateAndTime = inValue;
  62.     
  63.     SignalDataChanged ((AMSignaler*) self, idDateAndTime);
  64. }
  65.  
  66. //----------
  67. StringPtr    GetMessage (
  68.     DReminder*        self)
  69. {
  70.  
  71.     AssignPStr (nil, self->mMessage);
  72.     return self->mMessage;
  73. }
  74.  
  75. void    SetMessageStr (
  76.     DReminder*        self,
  77.     Str255        inValue)
  78. {
  79.     AssignPStr (self->mMessage, inValue);
  80.     
  81.     SignalDataChanged ((AMSignaler*) self, idMessage);
  82. }
  83.  
  84. void    SetMessageHandle (
  85.     DReminder*        self,
  86.     CharsHandle        inValue)
  87. {
  88.     AssignPStrHandle (self->mMessage, inValue);
  89.     
  90.     SignalDataChanged ((AMSignaler*) self, idMessage);
  91. }
  92.  
  93. //----------
  94. Boolean        GetShowAlert (
  95.     DReminder*        self)
  96. {
  97.  
  98.     return self->mShowAlert;
  99. }
  100.  
  101. void    SetShowAlert (
  102.     DReminder*        self,
  103.     Boolean        inValue)
  104. {
  105.     self->mShowAlert = inValue;
  106.     
  107.     SignalDataChanged ((AMSignaler*) self, idShowAlert);
  108. }
  109.  
  110. //----------
  111. Boolean        GetShowIcon (
  112.     DReminder*        self)
  113. {
  114.  
  115.     return self->mShowIcon;
  116. }
  117.  
  118. void    SetShowIcon (
  119.     DReminder*        self,
  120.     Boolean        inValue)
  121. {
  122.     self->mShowIcon = inValue;
  123.     
  124.     SignalDataChanged ((AMSignaler*) self, idShowIcon);
  125. }
  126.  
  127. //----------
  128. Boolean        GetPlaySound (
  129.     DReminder*        self)
  130. {
  131.  
  132.     return self->mPlaySound;
  133. }
  134.  
  135. void    SetPlaySound (
  136.     DReminder*        self,
  137.     Boolean        inValue)
  138. {
  139.     self->mPlaySound = inValue;
  140.     
  141.     SignalDataChanged ((AMSignaler*) self, idPlaySound);
  142. }
  143.  
  144. //----------
  145. SInt16        GetSoundIndex (
  146.     DReminder*        self)
  147. {
  148.  
  149.     return self->mSoundIndex;
  150. }
  151.  
  152. void    SetSoundIndex (
  153.     DReminder*        self,
  154.     SInt16        inValue)
  155. {
  156.     self->mSoundIndex = inValue;
  157.     
  158.     SignalDataChanged ((AMSignaler*) self, idSoundIndex);
  159. }
  160.  
  161. //----------
  162. StringPtr    GetDateString (
  163.     DReminder*        self)
  164. {
  165. /* left as an exercise for the reader */
  166. }
  167.  
  168. void    SetDateStringStr (
  169.     DReminder*        self,
  170.     Str255        inValue)
  171. {
  172. /* left as an exercise for the reader */
  173.     SignalDataChanged ((AMSignaler*) self, idDateString);
  174. }
  175.  
  176. void    SetDateStringHandle (
  177.     DReminder*        self,
  178.     CharsHandle        inValue)
  179. {
  180. /* left as an exercise for the reader */
  181.     SignalDataChanged ((AMSignaler*) self, idDateString);
  182. }
  183.  
  184. //----------
  185. StringPtr    GetTimeString (
  186.     DReminder*        self)
  187. {
  188. /* left as an exercise for the reader */
  189. }
  190.  
  191. void    SetTimeStringStr (
  192.     DReminder*        self,
  193.     Str255        inValue)
  194. {
  195. /* left as an exercise for the reader */
  196.     SignalDataChanged ((AMSignaler*) self, idTimeString);
  197. }
  198.  
  199. void    SetTimeStringHandle (
  200.     DReminder*        self,
  201.     CharsHandle        inValue)
  202. {
  203. /* left as an exercise for the reader */
  204.     SignalDataChanged ((AMSignaler*) self, idTimeString);
  205. }
  206.  
  207. //----------
  208. SInt16    GetAmPm (
  209.     DReminder*        self)
  210. {
  211. /* left as an exercise for the reader */
  212. }
  213.  
  214. void    SetAmPm (
  215.     DReminder*        self,
  216.     SInt16        inValue)
  217. {
  218. /* left as an exercise for the reader */
  219.     SignalDataChanged ((AMSignaler*) self, idAmPm);
  220. }
  221.